﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cesave.Domain.PermisosModule.Entities;

namespace Cesave.Domain.PermisosModule.Contracts.CultivosPropiedades
{
    /// <summary>
    /// Contrato del servicio de propiedades del cultivo.
    /// </summary>
    public interface ICultivosPropiedadService
        : IDisposable
    {
        /// <summary>
        /// Agrega las propiedades del cultivo
        /// </summary>
        /// <param name="propiedades">
        /// Propiedades del cultivo a agregar.
        /// </param>
        void AddCultivosPropiedad(CultivosPropiedad propiedades);

        /// <summary>
        /// Modifica las propiedades del cultivo.
        /// </summary>
        /// <param name="propiedades">
        /// Propiedades del cultivo a modificar.
        /// </param>
        void ChangeCultivosPropiedad(CultivosPropiedad propiedades);

        /// <summary>
        /// Encuentra las propiedades del cultivo de acuerdo a la junta y el ciclo indicados.
        /// </summary>
        /// <param name="cultivoGuid">
        /// GUID del cultivo.
        /// </param>
        /// <param name="cicloGuid">
        /// GUID del ciclo.
        /// </param>
        /// <param name="juntaGuid">
        /// GUID de la junta.
        /// </param>
        /// <returns></returns>
        CultivosPropiedad FindCultivosPropiedades(Guid cultivoGuid, Guid cicloGuid, Guid juntaGuid);
    }
}
